/*
 * Serum
 *
 * @license      GNU Lesser General Public Licence see LICENCE-LGPL file or http://www.gnu.org/licenses/lgpl.html
 */

/**
 * Abstract module
 */
Serum.Module.Abstract = function() {

    // Events
    Serum.App.get().eventListener.on('enableelement',   this.enableElement,     this);
    Serum.App.get().eventListener.on('disableelement',  this.disableElement,    this);
    Serum.App.get().eventListener.on('deleteelement',   this.deleteElement,     this);
    Serum.App.get().eventListener.on('enableparentElement',   this.enableParentElement,     this);
    Serum.App.get().eventListener.on('disableparentelement',  this.disableParentElement,    this);
    Serum.App.get().eventListener.on('deleteparentelement',   this.deleteParentElement,     this);
    Serum.App.get().eventListener.on('enableadjacentelement',   this.enableAdjacentElement,     this);
    Serum.App.get().eventListener.on('disableadjacentelement',  this.disableAdjacentElement,    this);
    Serum.App.get().eventListener.on('deleteadjacentelement',   this.deleteAdjacentElement,     this);
};

Serum.Module.Abstract.prototype = {
    formClass:              function() {},
    listClass:              function() {},
    processElement:         function() {},
    deleteElement:          function() {},
    enableElement:          function() {},
    disableElement:         function() {},
    deleteParentElement:    function() {},
    enableParentElement:    function() {},
    disableParentElement:   function() {},
    deleteAdjacentElement:  function() {},
    enableAdjacentElement:  function() {},
    disableAdjacentElement: function() {},
    onProcessSuccess:       function() {},
    onProcessError:         function() {}
};
